/**
 * セッションの接続状況を管理するデータクラス
 * @author kino
 */
function Session(){
    /** {String} ログインユーザ名 */
    this.user;
    
    /** {String} パスワード */
    this.password;
    
    /** {int} セッション識別子 */
    this.sessionId;
    
    /** {Date} 有効期限 */
    this.expireDate;
}

/**
 * 保持しているセッション情報を、JSON形式で表した文字列を返す。
 */
Session.prototype.toJson = function(){
    var resultParts = new Array();
    resultParts.push('{"user":"');
    resultParts.push(this.user);
    resultParts.push('", "password":"');
    resultParts.push(this.password);
    resultParts.push('", "sessionId":');
    resultParts.push(this.sessionId);
    resultParts.push(', "expireDate":');
    resultParts.push(this.expireDate.getTime());
    resultParts.push('}');
    return resultParts.join('');
}

/**
 * セッション情報に相当するJSON表現をeval()した結果オブジェクトから、データを復元する。
 * @param {JSON} evaledJson eval()したJSON表現。
 */
Session.prototype.fromJson = function(evaledJson){
    this.user = evaledJson.user;
    this.password = evaledJson.password;
    this.sessionId = evaledJson.sessionId;
    this.expireDate = new Date();
    this.expireDate.setTime(evaledJson.expireDate);
}

